package com.wjj.sixinone.config;

import com.wjj.sixinone.common.enums.ApiTypeConst;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


//集成这个拦截器导致自定义拦截器失效   WebMvcConfigurationSupport
//
@Configuration
public class Knife4jConfig {

    @Bean
    public GroupedOpenApi userApi() {      // 创建了一个api接口的分组
        return GroupedOpenApi.builder()
                .group("user-api")         // 分组名称
                .pathsToMatch(ApiTypeConst.API_USER +"/**")  // 接口请求路径规则
                .build();
    }
    @Bean
    public GroupedOpenApi publicApi() {      // 创建了一个api接口的分组
        return GroupedOpenApi.builder()
                .group("public-api")         // 分组名称
                .pathsToMatch(ApiTypeConst.API_PUBLIC+"/**")  // 接口请求路径规则
                .build();
    }
    @Bean
    public GroupedOpenApi adminApi() {      // 创建了一个api接口的分组
        return GroupedOpenApi.builder()
                .group("admin-api")         // 分组名称
                .pathsToMatch(ApiTypeConst.API_ADMIN+"/**")  // 接口请求路径规则
                .build();
    }
    /***
    /***
     * @description 自定义接口信息
     */
    @Bean
    public OpenAPI customOpenAPI() {

        return new OpenAPI()
                .info(new Info()
                        .title("sixInone——API接口文档")
                        .version("1.0")
                        .description("医院管理系统API接口文档")
                        .contact(new Contact().name("小王不秃头"))

                ) ;// 设定作者


    }



}
